package icu.hsu.apisdk.model.request;

import icu.hsu.apisdk.model.response.ResultResponse;
import lombok.experimental.Accessors;

/**
 * 通用请求类，支持自定义方法和路径
 * @ClassName: CurrencyRequest
 * @author Hsu琛君珩
 * @date 2024-09-08
 * @apiNote
 * @Version: v1.0
 */
@Accessors(chain = true)
public class CurrencyRequest extends BaseRequest<Object, ResultResponse> {

    /**
     * HTTP请求方法
     */
    private String method;

    /**
     * API请求路径
     */
    private String path;

    /**
     * 获取HTTP请求方法
     *
     * @return HTTP请求方法（如 GET 或 POST）
     */
    @Override
    public String getMethod() {
        return method;
    }

    /**
     * 设置HTTP请求方法
     *
     * @param method HTTP请求方法
     */
    public void setMethod(String method) {
        this.method = method;
    }

    /**
     * 获取API请求路径
     *
     * @return API请求路径
     */
    @Override
    public String getPath() {
        return path;
    }

    /**
     * 设置API请求路径
     *
     * @param path API请求路径
     */
    public void setPath(String path) {
        this.path = path;
    }

    /**
     * 获取响应类的类型，用于反序列化响应数据
     *
     * @return {@link Class} 表示的响应类类型
     */
    @Override
    public Class<ResultResponse> getResponseClass() {
        return ResultResponse.class;
    }
}
